// 定义命名空间，通常用于组织代码，避免命名冲突
namespace Wiz.Minio.EventData;

/// <summary>
/// 该类表示Minio服务的配置选项，包含连接Minio服务所需的基本信息
/// </summary>
public class MinioOptions
{
    public const string SectionName = "MinioConnection";
    /// <summary>
    /// 获取或设置Minio服务的端点地址，通常是Minio服务的URL
    /// </summary>
    public string Endpoint { get; set; }

    /// <summary>
    /// 获取或设置访问Minio服务所需的访问密钥，用于身份验证
    /// </summary>
    public string AccessKey { get; set; }

    /// <summary>
    /// 获取或设置访问Minio服务所需的秘密密钥，用于身份验证
    /// </summary>
    public string SecretKey { get; set; }

    /// <summary>
    /// 获取或设置是否使用SSL加密连接到Minio服务，默认为false
    /// </summary>
    public bool UseSSL { get; set; } = false; 
}

/// <summary>
/// 应用选项
/// </summary>
public class TaskAppOptions{
    public const string SectionName = "TaskApp";
    /// <summary>
    /// 任务运行小时
    /// </summary>
    public int TaskKeepHours{get;set;} = 24;
    /// <summary>
    /// 定时器间隔, 单位分钟
    /// </summary>
    public int TimerInterval{get;set;} = 10;

    /// <summary>
    /// 清除任务延迟时间，单位为分钟
    /// </summary>
    public int RemoveDelay{get;set;} = 10;
    /// <summary>
    /// 是否跳过没找到的文件
    /// </summary>
    public bool SkipNotFound{get;set;} = false;
}